<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateGoodInfosTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('good_infos', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->bigInteger('good_id');
            $table->string('uid')->comment('商品所有属性的good_attributes的ID合集，以|分割');
            $table->smallInteger('number')->default(-1)->comment('商品库存, -1为不限');
            $table->decimal('price', 8, 2)->comment('商品售价');
            $table->decimal('promote_price', 8, 2)->nullable()->comment('促销价格');
            $table->timestamp('promote_start_date')->nullable()->comment('促销价格开始日期');
            $table->timestamp('promote_end_date')->nullable()->comment('促销价格结束日期');
            $table->tinyInteger('warn_number')->default(0)->comment('商品报警数量');
            $table->bigInteger('avatar')->comment('商品主图片');
            $table->string('images')->comment('商品图片, id以|分割');
            $table->tinyInteger('is_real')->default(1)->comment('是否是实物，1，是；0，否；比如虚拟卡就为0，不是实物');
            $table->tinyInteger('is_on_sale')->default(1)->comment('该商品是否开放销售，上架下架，1，是；0，否');
            $table->tinyInteger('is_alone_sale')->default(1)
                ->comment('是否能单独销售，1，是；0，否；如果不能单独销售，则只能作为某商品的配件或者赠品销售');
            $table->integer('give_integral')->nullable()->comment('购买该商品时每笔成功交易赠送的积分数量');
            $table->integer('integral')->default(0)->comment('购买该商品可以使用的积分数量，是用积分代替金额消费');
            $table->tinyInteger('is_best')->default(0)->comment('是否是精品；0，否；1，是');
            $table->tinyInteger('is_new')->default(0)->comment('是否是新品；0，否；1，是');
            $table->tinyInteger('is_hot')->default(0)->comment('是否是热销；0，否；1，是');
            $table->tinyInteger('is_promote')->default(0)->comment('是否是特价促销；0，否；1，是');
            $table->timestamps();
            $table->softDeletes();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('good_infos');
    }
}
